CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)

GAddSource(GApplication.cpp				LISTS SourceList)
GAddSource(GApplication.h 				LISTS SourceList HeaderList)

GAddSource(GCore.cpp					LISTS SourceList)
GAddSource(GCore.h 						LISTS SourceList HeaderList)

GAddSource(GCursor.cpp					LISTS SourceList)
GAddSource(GCursor_Windows.cpp			LISTS SourceList PLATFORMS Windows)
GAddSource(GCursor.h 					LISTS SourceList HeaderList)

GAddSource(GDevice.cpp					LISTS SourceList)
GAddSource(GDevice.h 					LISTS SourceList HeaderList)

GAddSource(GDynamicLibrary.cpp			LISTS SourceList)
GAddSource(GDynamicLibrary_Windows.cpp	LISTS SourceList PLATFORMS Windows)
GAddSource(GDynamicLibrary.h 			LISTS SourceList HeaderList)

GAddSource(GMessageHandler.cpp			LISTS SourceList)
GAddSource(GMessageHandler.h 			LISTS SourceList HeaderList)

GAddSource(GMessageManager.cpp			LISTS SourceList)
GAddSource(GMessageManager_Windows.cpp	LISTS SourceList PLATFORMS Windows)
GAddSource(GMessageManager.h 			LISTS SourceList HeaderList)

GAddSource(GModule.cpp					LISTS SourceList)
GAddSource(GModule.h 					LISTS SourceList HeaderList)

GAddSource(GModuleDescriptor.h 			LISTS SourceList HeaderList)

GAddSource(GModuleManager.cpp			LISTS SourceList)
GAddSource(GModuleManager.h 			LISTS SourceList HeaderList)

GAddSource(GTimeManager.cpp				LISTS SourceList)
GAddSource(GTimeManager.h 				LISTS SourceList HeaderList)

GAddSource(GVersion.cpp					LISTS SourceList)
GAddSource(GVersion.h 					LISTS SourceList HeaderList)

GAddSource(GWindow.cpp					LISTS SourceList)
GAddSource(GWindow_Windows.cpp			LISTS SourceList PLATFORMS Windows)
GAddSource(GWindow.h 					LISTS SourceList HeaderList)

GAddLibrary(GCore HEADERS ${HeaderList} SOURCES ${SourceList})

GLinkLibrary(GCore LIBS GTask GGraphic GPhysic GSound GResource GInput GNetwork GGame GThread)

# Remove after module linking system is implemented
GLinkLibrary(GCore LIBS GRawInput)

GGroupProject(GCore "Engine")